草庐IT

JavaScript 替换为回调 - 性能问题

全部标签

javascript - 在 Ruby 和 JavaScript 中测试 undefined variable ?

在JavaScript中,有一种有用的方法可以测试从未在任何给定点定义的变量。例如,如果尚undefinedvariablebob,则以下代码片段将返回true:typeof(bob)=='undefined'如何在Ruby中完成相同的测试?编辑:我正在寻找一个本质上同样紧凑的测试。我使用异常等提出了一些笨拙的近似值,但它们不是很漂亮! 最佳答案 defined?(variable_name)irb(main):004:0>defined?(foo)=>nilirb(main):005:0>foo=1=>1irb(main):006

javascript - 如何在字符串中获得可能重叠的匹配项

我正在寻找一种方法,无论是在Ruby中还是在Javascript中,它都会为我提供字符串中针对正则表达式的所有匹配项,可能是重叠的。假设我有str="abcadc",我想查找出现的a后跟任意数量的字符,然后是c。我要查找的结果是["abc","adc","abcadc"]。关于如何实现此目标的任何想法?str.scan(/a.*c/)会给我["abcadc"],str.scan(/(?=(a.*c))/).flatten会给我["abcadc","adc"]. 最佳答案 defmatching_substrings(string,r

javascript - ruby 是强类型还是弱类型?

ruby是强类型还是弱类型?据推测,Javascript也是如此。 最佳答案 Ruby是“强类型”。强类型意味着在对对象执行需要特定类型的操作之前检查对象的类型(不是OOP意义上的,而是一般意义上的)。弱类型意味着不进行任何检查以确保操作可以在对象上成功。(例如,当一个函数访问一个字符串和float数组时,如果没有进行类型检查则允许该操作)编辑:这个答案发布已经6年了,我认为它值得一些额外的澄清:多年来,“类型安全是一个刻度盘而非绝对值”的概念开始被用于支持二进制含义(是/否)Ruby比大多数典型的动态语言“更强”类型化(带有“er

ruby-on-rails - 设计回调

当用户登录和退出时,设计是否有回调?这是我想出的:Warden::Manager.after_authenticationdo|user,auth,opts|user.update_attribute(:currently_signed_in,true)endWarden::Manager.before_logoutdo|user,auth,opts|user.update_attribute(:currently_signed_in,false)end这是我用来跟踪当前登录用户的工具。 最佳答案 我不是专家,但我相信回调(Hook

ruby-on-rails - 将对象保存在数组中的问题,Ruby 问题和 Rails 问题

我正在尝试将一个对象添加到我的数组中,但是该数组似乎总是重置,而不是添加。我究竟做错了什么?我认为这与if(defined?libraryshelf)then有关,我在这里要做的是找出数组是否存在(如果这是第一次添加或不存在)。.defadd_book@listofbooks||=Array.new@listofbooks.push(params[:booktitle])@listofbooksrespond_todo|format|format.html{redirect_to(:back)}format.jsendend我的add_book.js.erb文件alert('');@l

ruby - Puppet 中的字符串替换?

是否可以使用正则表达式在Puppet中进行字符串替换/转换?如果$hostname是“web1”,我希望$hostname_without_number是“web”。以下不是有效的Puppet语法,但我想我需要这样的东西:$hostname_without_number=$hostname.gsub(/\d+$/,'') 最佳答案 是的,这是可能的。查看puppet函数引用:http://docs.puppetlabs.com/references/2.7.3/function.html有一个内置的正则表达式替换函数。它可能会调用相

ruby - 如何使用 Ruby 用一个换行符替换一行中的多个换行符

我有一个用ruby​​编写的脚本。我需要删除任何重复的换行符(例如)\n\n\n到\n我目前的尝试使用成功了(或者更确切地说没有成功)str.gsub!(/\n\n/,"\n")这对我的输出没有任何影响。我做错了什么? 最佳答案 这对我有用:#!/usr/bin/ruby$s="foo\n\n\nbar\nbaz\n\n\nquux";puts$s$s.gsub!(/[\n]+/,"\n");puts$s 关于ruby-如何使用Ruby用一个换行符替换一行中的多个换行符,我们在Stack

ruby - 无法安装 Curb - native 扩展有问题。

我正在尝试在我的Debian机器上安装curbgem,但我很难用native扩展构建gem。我正在使用RVM。只是我正在使用的东西的列表:Derby安bundlerrvmruby-1.9.2-p180遏制有人告诉我必须安装以下软件包,我已经安装了:sudoapt-getinstalllibcurl3libcurl3-gnutlslibcurl4-openssl-dev当我继续这样做时:gem安装限制Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingcurb:ERROR:Failedtobuildgem

ruby-on-rails - 简单的正则表达式——用空格替换下划线

嘿,我正在编写我的第一个Rails应用程序,我正在尝试用空格替换传入ID名称中的下划线,如下所示:之前:test_string之后:测试字符串我该怎么做?对不起,如果这是一个有点愚蠢的问题,我对正则表达式不是很熟悉...... 最佳答案 str.gsub!(/_/,'')gsub代表“全局替换”,感叹号表示它将更改字符串本身,而不仅仅是返回替换后的字符串。您也可以使用String#tr!在没有正则表达式的情况下执行此操作:str.tr!('_','') 关于ruby-on-rails-简

ruby-on-rails - Heroku "We' 抱歉,出了点问题”

首先,我是rails/heroku的新手,所以请提前原谅新手!我完成了Rails教程(http://guides.rubyonrails.org/getting_started.html)并生成了一个类似博客的“post”应用程序,将其推送到github,然后推送到heroku。我的应用程序在本地运行良好,但当我尝试在线运行它时,出现红色字体错误“我们很抱歉,但出了点问题”。这是heroku日志:2012-06-17T18:20:21+00:00app[web.1]:StartedGET"/posts/new"for24.246.75.91at2012-06-1718:20:21+00